Location based service (LBS) system and method for creating a social network

ABSTRACT

A system and method for providing a location based service to create a social network, comprising activating a feature from a wireless terminal, registering from the wireless terminal with a location based service associated with the feature, creating a profile of a user of the feature, and displaying candidates based on the profile and based on the geographic location of the candidates. A Global Positioning System (GPS) may be used to geographically locate active users of a feature. An activity map may be associated with a feature, the activity map displaying active users of the feature.

BACKGROUND

1. Field

The present invention relates generally to communication, and more specifically to a system and method for performing location determination and providing location information via a location based services (LBS) architecture to create a social network.

2. Background

Often, it is desirable to know the location of a wireless user. In fact, it is sometimes necessary. For example, the Federal Communications Commission (FCC) has adopted a report and order for an enhanced 911 (E-9-1-1) wireless service that requires the location of a wireless terminal (e.g., a cellular phone) to be provided to a Public Safety Answering Point (PSAP) each time a 911 call is made from the wireless terminal. In addition to the FCC mandate, a network operator/service provider may support various applications that use location based services. Such services provide the location of wireless terminals. “Applications” refer to the particular uses that are made of location information. Often times, applications are implemented with computer software that is either executed by a processor within a wireless terminal or by a processor located within a wireless infrastructure network that is in communication with the wireless terminal. Applications that use this information may include, for example, location-sensitive billing, asset tracking, asset monitoring and recovery, fleet and resource management, personal-location services, and so on. Some specific examples of applications for personal-location services include (1) providing a local map to a wireless terminal based on its location, (2) providing a recommendation for a facility (e.g., a hotel or a restaurant) based on the wireless terminal's location, and (3) providing directions to the recommended facility from the wireless terminal's location.

An example of system and method for a location based service can be found in U.S. patent application Ser. No. 10/769,420 entitled, “Location Based Service (LBS) System, Method and Apparatus For Authorization Of Mobile Station LBS Applications,” filed Jan. 30, 2004, and assigned to the assignee hereof, and expressly incorporated by reference herein.

An LBS would be helpful in creating and maintaining social networks. Accordingly, there is a need for a system and method for performing location determination and providing location information via a location based services (LBS) architecture to create and maintain a social network.

SUMMARY

In an aspect, a method of providing a location based service to create a social network, comprises activating a feature from a wireless terminal, registering from the wireless terminal with a location based service associated with the feature, creating a profile of a user of the feature, and displaying candidates based on the profile and based on the geographic location of the candidates.

In an aspect, the geographic location of the candidates is based on a Global Positioning System (GPS). In an aspect, the candidates displayed are based on the candidates being represented on an activity map associated with the feature.

In an aspect, wireless terminal, comprises means for activating a feature from a wireless terminal, means for registering from the wireless terminal with a location based service associated with the feature, means for creating a profile of a user of the feature, and means for displaying candidates based on the profile and based on the geographic location of the candidates.

In an aspect, computer readable media embodying a program of instructions executable by a computer program, said computer readable media comprises, a computer readable program code means for activating a feature from a wireless terminal, a computer readable program code means for registering from the wireless terminal with a location based service associated with the feature, a computer readable program code means for creating a profile of a user of the feature, and a computer readable program code means based on the profile and based on the geographic location of the candidates.

It is understood that other embodiments of the present invention will become readily apparent to those skilled in the art from the following detailed description, wherein various embodiments of the invention are shown and described by way of illustration. As will be realized, the invention is capable of other and different embodiments and its several details are capable of modification in various other respects, all without departing from the spirit and scope of the present invention. Accordingly, the drawings and detailed description are to be regarded as illustrative in nature and not as restrictive. Various aspects and embodiments of the invention are described in further detail below.

BRIEF DESCRIPTION OF THE DRAWINGS

The disclosed method and apparatus will become more apparent from the detailed description set forth below when taken in conjunction with the following figures in which like reference characters identify like elements.

FIG. 1 is a simplified block diagram of a wireless terminal communicating over a wireless link with a wireless network in accordance with an embodiment.

FIG. 2 is a simplified block diagram of the components of a wireless terminal in accordance with an embodiment.

FIG. 3 is a schematic diagram of an example of a protocol stack used within an embodiment.

FIG. 4 illustrates a handset having a display of three possible selections for a Qsocial user in accordance with an embodiment.

FIG. 5 shows an activity map used for an instant date displaying active males and females in a geographic region.

FIG. 6 shows a general flowchart for a method of providing a location based service to create a social network in accordance with an embodiment.

DETAILED DESCRIPTION

FIG. 1 is a simplified block diagram illustrating a system 100 including a wireless terminal 101, wireless communication network 103, mobile positioning center (MPC) 105, and position determining equipment (PDE) 107 in accordance with an embodiment. The wireless terminal 101 may be any wireless device capable of running a location based service (LBS) application. For the purpose of this document, LBS applications include any program, applet, routine, or other such computer implemented algorithm that uses the location of either the wireless terminal in which the application is running or the location of another wireless terminal to provide information or service to a user. Examples of such LBS applications include programs that can: 1) identify the location of a wireless terminal being operated by another person to allow the LBS client (i.e., the person requesting the LBS service) to locate another person using a properly equipped wireless terminal; 2) locate a nearby product or service outlet and provide the user with directions to the outlet, such as an automatic teller machine or restaurant; 3) track a properly equipped wireless terminal, etc. Examples of wireless devices capable of running an LBS application include cellular telephones, wireless modems, personal information managers (PIMs), personal digital assistants (PDAs), etc.

As shown in FIG. 1, the wireless terminal 101 communicates over a wireless link 102 with the wireless network 103. The wireless network 103 includes at least a base station 104 capable of receiving information from, and transmitting information to, the wireless terminal 101 over the wireless link 102. For the purposes of this disclosure, the base station 104 includes various other components of the wireless network 103 which are not shown for the sake of simplicity, such as base station controllers (BSCs), mobile switching centers (MSCs), etc.

The base station 104 is coupled to the MPC 105 by any conventional communication medium, including, but not limited to cables, microwave links, satellite communication links, etc. Similarly, the MPC 105 is coupled to the PDE 107 by any conventional communication medium.

FIG. 2 is a simplified block diagram of the components of a wireless terminal 101 in accordance with an embodiment. The wireless terminal 101 shown in FIG. 2 includes a transceiver 201, Global Positioning System (GPS) receiver hardware 202; a processor 203, an application memory 205, a general purpose memory 207, and antennas 211, 212. Transceiver 201 transmits and receives wireless signals from its antenna 211. GPS receiver hardware 202 transmits and receives wireless signals including location information from its antenna 212.

The processor 203 is shown as one block. However, it should be understood by those skilled in the art that the functions disclosed as being performed by the processor 203 may be performed by a collection of discrete processors either acting in concert or operating independently. Accordingly, such a collection of processors may be either coupled together in order to perform the disclosed functions or they may operate completely independent of one another. Furthermore, in accordance with alternative embodiments, the application memory 205 and general purpose memory 207 may be combined into a single memory device that stores the information disclosed herein as being stored in these two memories 205, 207. In yet another alternative embodiment, the wireless terminal 101 might comprise several additional independent memory devices that share responsibility for storing information within the wireless terminal 101.

The processor 203 has several functions that operate in concert as a protocol stack. FIG. 3 is a schematic diagram of an example of a protocol stack used within an embodiment For the purpose of this disclosure, a protocol stack is any set of routines or program instructions that operate together, typically with one routine building on and using the functions of another lower level routine or program. A first function within the protocol stack of FIG. 3 is the operating system 301. The operating system 301 is a foundational function upon which other functions build. That is, the operating system 301 includes functions that can be accessed and used by the other functions performed within the processor 203. In accordance with an embodiment, the operating system 301 is a Binary Run-time Environment for Wireless (BREW) operating system. In an alternative embodiment, the operating system 301 is a Wireless Application Protocol (WAP) system. In another alternative embodiment, the operating system is a Short Message Service (SMS) operating system. In yet another alternative embodiment, the operating system is a Java operating system, etc. Java is a trademark for the operating system of Sun Microsystems. Those skilled in the art will appreciate that the particular operating system used is not directly relevant to the presently disclosed method and apparatus for performing location determination and providing location information via a location based services (LBS) architecture.

In accordance with an embodiment, an LBS application 303 runs on top of the operating system 301. In one example, the LBS application 303 may access and utilize user interface functions to receive information from the wireless terminal user through a conventional data input device, such as a keyboard or touch screen. The LBS application may also access and utilize the operating system functions to provide information back to the wireless terminal user through a liquid crystal diode (LCD) display screen.

One function of the LBS application is to provide the wireless terminal user with the ability to locate the wireless terminal, determine what points of interest and service outlets are in the vicinity of the wireless terminal (e.g., shops, automatic teller machines, restaurants, museums, etc.) and provide navigational directions and maps to the user based on a knowledge of the location of the wireless terminal and the location of particular service outlets and points of interest.

The LBS application 303 locates the wireless terminal 101 by accessing a position location engine 305. The position location engine 305 may be any function capable of determining the location of the wireless terminal 101. In an embodiment, the position location engine 305 is a component of a global positioning satellite (GPS) system. The position location engine 305 in this example includes a GPS receiver function that allows the wireless terminal (together with the GPS receiver hardware 202) to receive information from GPS satellites for the purpose of determining the location of the wireless terminal 101.

In addition, in an embodiment, the position location engine 305 requests and receives aiding information from the PDE 107. For example, in an embodiment, the wireless terminal requests information as to which satellites are “in view”. If a satellite is in view, then the wireless terminal 101 should be able to receive and demodulate information from that satellite.

In addition, the wireless terminal 101 might request information regarding the locations of the in-view satellites, information about correction factors to be used when calculating the location of the wireless terminal 101 using information received from the in-view satellites, information regarding the amount of Doppler shift that the wireless terminal 101 might expect to encounter when receiving signals from the in-view satellites, and other such useful information. This information enables the wireless terminal 101 to more rapidly detect and “acquire” satellites. Acquisition of a satellite refers to the process by which the wireless terminal 101 receives signals transmitted from the satellite and aligns the received information with local timing within the wireless terminal 101 in preparation for the wireless terminal 101 to interpret information modulated on the signals transmitted by the satellite.

FIG. 3 also shows a TCP/IP wrapper 307 in accordance with an embodiment. The TCP/IP wrapper 307 is a protocol layer that provides support for sending and receiving messages in accordance with the well-known TCP/IP communication protocol. Accordingly, information that is to be transmitted by the wireless terminal 101 in accordance with the TCP/IP protocol is provided to the TCP/IP wrapper 307. The TCP/IP wrapper 307 then formats the information appropriately in accordance with the TCP/IP protocol specification so that other devices to which the information is to be transmitted can receive and interpret the information sent by the wireless terminal 101.

Once the TCP/IP wrapper 307 has formatted the information, the formatted information is passed to the TCP/IP layer 309. The TCP/IP layer 309 transmits the information in accordance with the TCP/IP protocol (i.e., the request/response ordering of the messages which constitute the handshake that takes place between a transmitting and receiving device in accordance with the TCP/IP protocol).

Qsocial is an LBS application that combines wireless multimedia and high speed data services. In an embodiment, Qsocial is an online dating application. Using Qsocial as an online dating application, users can arrange social engagements using Qsocials' multi-media features and location based services.

A Qsocial user can arrange for an instant date with another Qsocial user. Such an arrangement would create a social network. A social network is a plurality of users coupled by a social purpose.

In accordance with an embodiment, the instant date can be arranged spontaneously based on the profile and location of the Qsocial users. For example, a Betty and Jane may be spending an evening in a nightclub district. They think it would be fun to have dates. In accordance with an embodiment, they use an instant date feature of Qsocial to register that they are actively looking for dates.

A Qsocial server accesses their profiles given they were previously stored. Alternatively, the Qsocial server interrogates the Qsocial users for their profiles.

The Qsocial server (not shown) can be a part of the wireless network 103 of FIG. 1 or can be another network. It would be apparent to those skilled in the art that the Qsocial server can be a single server or a bank of servers not necessarily in geographical proximity to one another. It would also be apparent to those skilled in the art that a server need not be labeled a server. A server is a shared device on a network having a processor and a memory.

Once registered, the Qsocial server accesses the profiles and location of Betty and Jane. The Qsocial server then sends Betty and Jane profile(s) of people that match their profiles and location. Betty and Jane select from a list of matched profiles and locations. The instant date feature of Qsocial notifies their selections that they have been selected. Their selections may accept or deny the implied proposal from being selected. If the selections, i.e., the people selected, accept the implied proposal, then a meeting place may be arranged.

FIG. 4 illustrates a handset having a display of three possible selections for a Qsocial user in accordance with an embodiment. The Qsocial user may scroll up or down the list for more possible selections if there are more selections available.

In an embodiment, selections match the profiles of the registered instant date users. Alternatively, the selections may match a desired profile or subset of a profile.

A profile comprises a plurality of features regarding a Qsocial user. In accordance with an embodiment, a profile includes the age, height, weight, gender, race/ethnicity, religion, education, hobby(s), and user-defined features of a Qsocial user.

A Qsocial user may define a desired profile to be matched. A user may not care about some features and can specify “don't care” for those particular features. For example, a Qsocial user may not care about the race, ethnicity, or religion of another person. On the other hand, a Qsocial user may have very specific requirements about a desired match. For example, the Qsocial user may want a date with a surfer or a skateboarder and may define such a feature in a profile.

In an embodiment, Qsocial includes an activity map feature. Activity maps provide a map of active Qsocial users within a geographic area. An activity map may provide historical statistics of locations of active users.

What is considered active depends on the application of the activity map. For example, an activity map used for an instant date may show all the active males 502 and females 504 in a region as shown in FIG. 5. In an embodiment, an active user is a user that indicates that he/she is active.

In an embodiment, the instant date feature utilizes the activity map feature. The candidates displayed are those that match a profile and are active on a selected activity map. Thus, a Qsocial user that matches the profile, but is not represented on the selected activity map is not shown as a candidate in accordance with an embodiment. In an embodiment, a Qsocial user associates an activity map with the instant date feature. The Qsocial user may dynamically change the activity map by changing parameters of the activity map. Such parameters may include longitudinal and latitude ranges. The Qsocial user may also indicate the center of the activity map and may scroll the activity map up, down, right, or left.

In accordance with an embodiment, the geographic dimensions of the activity map may be dynamically modified according to user input for predefined parameters. For example, a predefined parameter may include display number of candidates. Thus, a Qsocial user entering 10 as an input for display number of candidates, results in the currently selected activity map expanding or shrinking such that 10 candidates are displayed. The activity map conforms to the input parameter.

In an embodiment, a matcher engine takes as input a profile and using artificial intelligence techniques known in the art, formulates a match for the Qsocial user responsive to the input profile. The matcher engine is a software module that executes on the Qsocial server. The matcher engine is not limited to simple pattern matching, but may be parameterized and weigh characteristics of the input profile according to sociological studies for example. In accordance with another embodiment, the matcher engine can take be dynamically modified by the user to take as input any data that a user may deem relevant.

In accordance with an embodiment, Qsocial includes a club mingle feature. In an embodiment, the club mingle feature requires only temporary registration. The registration is valid only for a period of time. In an embodiment, the period of time can be programmable. Profiles can be used for matching and filtering as they can in an instant date feature.

In an embodiment, the club mingle application does not need the location based service. For example, Betty and Jane go to a nightclub. After entering the nightclub, they use the club mingle feature and register with the nightclub's mingle group. They use their camera phone to submit their current image so they can be recognized in the club. Betty spots a male she would like to dance with and browses the mingle group on her phone to see if he has registered. Betty finds the male in the nightclub's mingle group and sends him an invitation to dance.

In accordance with an embodiment, Qsocial includes a conference companion feature. The conference companion feature also has temporary registration, but is event and location based. Registration is limited to those active users within a particular geographic location for a particular event. Betty, from Idaho, attends a developer's conference in San Diego. Betty uses her conference companion feature to register with a conference companion group, indicating interest in LBS applications. Other registrants for the conference companion group see on their wireless terminals display that Betty has registered with the conference companion group. Two of the registrants for the conference companion group then send invitations to Betty inviting her to have lunch. Betty views her wireless terminal's display and sees that she has two invitations. She then selects one of the invitations, the selection being displayed on the wireless terminal display of the selected invitations.

In accordance with an embodiment, Qsocial includes an interest group feature. The interest group feature requires an LBS application. The interest group is not necessarily romantic. In an embodiment, the interest group can be spontaneous and can be setup online. For example, on a Saturday morning, Alex wants to play pick-up basketball. Alex registers as active in an interest group he creates for basketball. Five other active users of Qsocial see the newly created interest group based on their being in the same geographical location as Alex and their having an interest in basketball, which is in their profile. The five active users respond, and using the interest group feature, arrange to meet at the Neighborhood Park and play 3-on-3 basketball. In creating the basketball interest group, Alex could put a time limit on the basketball interest group.

In an embodiment, an interest group can be a fixed interest group. There is no time limit on the fixed interest group. For example, the basketball interest group could have already existed. Thus, an interest group can be static or dynamic.

In accordance with an embodiment, Qsocial includes product features. Using the club mingle feature, a business establishment such as a nightclub can register as an advertiser of the club mingle feature and offer drinks at a discount to active users of the club mingle feature. The ad offering the discount can be active or passive. The ad can be pushed to an active user utilizing the club mingle feature when mingling with others at the business establishment. The ad can also be available to an active user passively. The user must pull the ad from an ad database. In contrast to pushing an ad, pulling an ad from a database means the ad becomes available to an active user only if the active user searches or finds the ad from Qsocial's database of ad sponsors.

The instant date feature also includes an advertising feature much like the club mingle feature. Advertising can be pushed or pulled. An example of push advertising for the instant date feature includes a Qsocial server locating a nearby florist and giving the active user access to an online purchase ready for pick-up.

Also using the instant date feature, an active user can arrange for a prepaid cab pick-up/drop-off for his/her date without knowing the address of his/her date. Thus, the home address of a date can be kept private from the other party. In an embodiment, the date's active state is automatically deactivated upon payment of the cab pick-up/drop-off. In an embodiment, the date has to manually deactivate his/her active state before returning home to prevent the other party from knowing his/her location.

Also in conjunction with the instant date feature, once a date is accepted and agreed upon, an LBS is used to identify local theater and purchase tickets, for example.

In another example, an LBS is used to identify a local restaurant and make reservations.

In an embodiment, the Qsocial feature includes a menu having instant date, activity maps, club mingle, conference companion, interest group, and product features as selections.

In an embodiment, multimedia messaging services (MMS) are used in conjunction with the Qsocial features.

FIG. 6 shows a general flowchart 600 for a method of providing a location based service to create a social network in accordance with an embodiment. In step 602, a date feature is activated from a wireless terminal. It would be apparent to those skilled in the art that any technique known in the art to activate a feature can be used. In step 604 a user registers from the wireless terminal with a location based service associated with the date feature. In step 606, a profile is created of a user of the date feature. In step 608, candidates for a date are displayed based on the profile and based on the geographic location of the candidates.

Those of skill would further appreciate that the various illustrative logical blocks, modules, circuits, and algorithm steps described in connection with the embodiments disclosed herein may be implemented as electronic hardware, computer software, or combinations of both. To clearly illustrate this interchangeability of hardware and software, various illustrative components, blocks, modules, circuits, and steps have been described above generally in terms of their functionality. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the overall system. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present invention.

The various illustrative logical blocks, modules, and circuits described in connection with the embodiments disclosed herein may be implemented or performed with a general purpose processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. A general purpose processor may be a microprocessor, but in the alternative, the processor may be any conventional processor, controller, microcontroller, or state machine. A processor may also be implemented as a combination of computing devices, e.g., a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration.

The steps of a method or algorithm described in connection with the embodiments disclosed herein may be embodied directly in hardware, in a software module executed by a processor, or in a combination of the two. A software module may reside in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, hard disk, a removable disk, a CD-ROM, or any other form of storage medium known in the art. An exemplary storage medium is coupled to the processor such the processor can read information from, and write information to, the storage medium. In the alternative, the storage medium may be integral to the processor. The processor and the storage medium may reside in an ASIC. The ASIC may reside in a user terminal. In the alternative, the processor and the storage medium may reside as discrete components in a user terminal.

The previous description of the disclosed embodiments is provided to enable any person skilled in the art to make or use the present invention. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other embodiments without departing from the spirit or scope of the invention. Thus, the present invention is not intended to be limited to the embodiments shown herein but is to be accorded the widest scope consistent with the principles and novel features disclosed herein. 

1. A method of providing a location based service to create a social network, comprising: activating a feature from a wireless terminal; registering from the wireless terminal with a location based service associated with the feature; creating a profile of a user of the feature; and displaying candidates based on the profile and based on the geographic location of the candidates.
 2. The method of claim 1, wherein the geographic location of the candidates is based on a Global Positioning System (GPS).
 3. The method of claim 1, further comprising associating an activity map with the date feature, wherein displaying candidates based on the geographic location of candidates is based on the candidates being represented on the associated activity map.
 4. The method of claim 2, wherein creating a profile of a user of the feature is creating the profile of the user initiating the feature.
 5. The method of claim 2, wherein creating a profile of a user of the feature is creating a desired profile.
 6. The method of claim 5, wherein creating a desired profile includes specifying desired characteristics of a candidate.
 7. The method of claim 6, wherein specifying desired characteristics of a candidate includes specifying user-defined characteristics of the candidate.
 8. The method of claim 7, further comprising selecting a candidate.
 9. The method of claim 8, further comprising notifying the candidate of the selection.
 10. The method of claim 9, wherein the notifying implies a proposal to meet.
 11. The method of claim 10, further comprising accepting the proposal to meet.
 12. The method of claim 11, further comprising displaying an advertisement responsive to the accepting.
 13. A wireless terminal, comprising: means for activating a feature from a wireless terminal; means for registering from the wireless terminal with a location based service associated with the feature; means for creating a profile of a user of the feature; and means for displaying candidates based on the profile and based on the geographic location of the candidates.
 14. Computer readable media embodying a program of instructions executable by a computer program, said computer readable media comprising: a computer readable program code means for activating a feature from a wireless terminal; a computer readable program code means for registering from the wireless terminal with a location based service associated with the feature; a computer readable program code means for creating a profile of a user of the feature; and a computer readable program code means for a date based on the profile and based on the geographic location of the candidates. 